#pragma once

#include <string>
#include <vector>
#include <iostream>

using namespace std;

#define INVALID_RESOURCE_ID -1

/* HttpPutRequest class
 * wrapper for the needed Poco:Net
 */
class HttpPutRequest {
public:
    /* HttpPutRequest c'tor
     * sends the PUT request to the given server
     * encoded - vector of the body to set in the PUT request
     * set Content-Type to "image/jpg"
     * throws Exception on connection failure or status code != 201
     */
	HttpPutRequest(const string& serverAddress, unsigned short port, const string& path, vector<unsigned char> encoded);
    /* getter for the HTTP status code */
	unsigned int getStatus();
    /* getter for the HTTP reason string */
	string getReason();
    /* getter for the HTTP body */
	string getResponse();
private:
	unsigned int statusCode;
	string reason;
	string response;
};